package oprecocerto.entity;

import oprecocerto.commom.Util;

import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;

public class Material {

	public static void createOrUpdateMaterial(String nome, String unidade, String vUnitario) {
		Entity material = getSingleMaterial(nome);
		if (material == null) {
			material = new Entity("Material", nome);
			material.setProperty("nome", nome);
			material.setProperty("unidade", unidade);
			Double vUnitarioDouble = Double.parseDouble(vUnitario);
			material.setProperty("vUnitario", vUnitarioDouble);

		} else {
			if (nome != null && !"".equals(nome)) {
				material.setProperty("nome", nome);
			}
			if (unidade != null && !"".equals(unidade)) {
				material.setProperty("unidade", unidade);
			}
			if (vUnitario != null && !"".equals(vUnitario)) {
				Double vUnitarioDouble = Double.parseDouble(vUnitario);
				material.setProperty("vUnitario", vUnitarioDouble);
			}	
		}
		Util.persistEntity(material);
	}

	public static Iterable<Entity> getAllMaterial() {
		Iterable<Entity> entities = Util.listEntities("Material", null, null);
		return entities;
	}

	public static Iterable<Entity> getMaterial(String nome) {
		Iterable<Entity> entities = Util
				.listEntities("Material", "nome", nome);
		return entities;
	}

	public static Entity getSingleMaterial(String nome) {
		Key key = KeyFactory.createKey("Material", nome);
		return Util.findEntity(key);
	}
}
